package com.finder.im.server.friendship.service;

import com.finder.im.common.ResponseVO;
import com.finder.im.server.friendship.model.req.*;

public interface ImFriendService {
    /**
     * 批量导入用户关系链数据
     * @param req
     * @return
     */
    public ResponseVO importFriendShip(ImportFriendShipReq req);

    /**
     * 添加好友关系
     * @param req
     * @return
     */
    public ResponseVO addFriend(AddFriendReq req);

    /**
     * 更新好友关系信息
     * @param req
     * @return
     */
    public ResponseVO updateFriend(UpdateFriendReq req);

    /**
     * 删除好友关系
     * @param req
     * @return
     */
    public ResponseVO deleteFriend(DeleteFriendReq req);

    /**
     * 删除所有好友关系
     * @param req
     * @return
     */
    public ResponseVO deleteAllFriend(DeleteFriendReq req);

    /**
     * 获取所有好友关系信息
     * @param req
     * @return
     */
    public ResponseVO getAllFriendShip(GetAllFriendShipReq req);

    /**
     * 获取某个给好友关系信息
     * @param req
     * @return
     */
    public ResponseVO getRelation(GetRelationReq req);

    /**
     * 根据检查是否好友关系
     * @param req 其中的checkType选择单向校验，还是双向校验
     * @return
     */
    public ResponseVO checkBlack(CheckFriendShipReq req);
}
